Pular para o conteúdo principal

Integração no seu SDK

Aqui você aprenderá como adicionar o SDK Group Link ao seu SDK e iniciá-lo a partir do seu SDK.

Passo 1 - Build settings​

No target do framework do seu SDK, confirme se os seguintes build settings estão corretos:

Nome amigável (Xcode)SettingValor
Build Libraries for DistributionBUILD_LIBRARY_FOR_DISTRIBUTIONYES
Skip InstallSKIP_INSTALLNO

Se o seu SDK já é distribuído como XCFramework, os dois settings já estarão corretos.

Onde e como alterar: projeto do seu SDK → TARGET do framework → Build Settings → filtros All + Combined → busque o setting → se necessário, altere o valor para todas as configurações (Debug e Release).

Nota: A busca aceita tanto o nome amigável (ex.: Build Libraries for Distribution) quanto o nome técnico (ex.: BUILD_LIBRARY_FOR_DISTRIBUTION). Por padrão, a lista mostra os nomes amigáveis; para ver os técnicos: Editor → Show Setting Names.

IMG-02 — Build Libraries for Distribution

Build Libraries for Distribution em Yes

IMG-03 — Skip Install

Skip Install em No

Se o valor vier de outro lugar, altere-o lá, senão ele sobrescreve o que foi feito no Xcode. Para descobrir de onde vem: Build Settings → visão Levels, que mostra em qual coluna (target, projeto, .xcconfig) o valor está definido.

IMG-04 — Visão Levels

Build Settings na visão Levels

Passo 1a - Configuração alternativa via .xcconfig​

.xcconfig do target do framework:

BUILD_LIBRARY_FOR_DISTRIBUTION=YES
SKIP_INSTALL=NO

Passo 1b - Configuração alternativa via XcodeGen​

XcodeGen (project.yml):

targets:
SeuSDK:
type: framework
settings:
base:
BUILD_LIBRARY_FOR_DISTRIBUTION: YES
SKIP_INSTALL: NO

Passo 1c - Configuração alternativa via Tuist​

Tuist (Project.swift):

.target(
name: "SeuSDK",
destinations: .iOS,
product: .framework,
bundleId: "…",
sources: ["Sources/**"],
settings: .settings(base: [
"BUILD_LIBRARY_FOR_DISTRIBUTION": "YES",
"SKIP_INSTALL": "NO"
])
)

Passo 1d - Configuração alternativa via linha de comando (script de build)​

Script de build (xcodebuild archive):

xcodebuild archive \
-project <SEU_SDK>.xcodeproj \
-scheme SeuSDK \
-configuration Release \
-destination "generic/platform=iOS" \
-archivePath build/ios.xcarchive \
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
SKIP_INSTALL=NO

Adicionando um novo pacote ao seu projeto​

  1. No Xcode, localize o painel à esquerda e clique no seu PROJECT.
  2. No topo da janela aberta, clique na aba Package Dependencies.
  3. A lista de pacotes utilizados no projeto será exibida.
  4. Clique no botão + localizado na parte inferior esquerda dessa lista para adicionar um novo pacote.

IMG-05 — Package Dependencies

Adicionando um novo pacote ao projeto

Buscando o pacote pela URL do GitHub​

  1. No campo de busca, no canto superior direito da janela, cole a URL do repositório:
https://github.com/Group-Link-One/iOSGrouplinkStatic
  1. Em alguns instantes, o resultado iosgrouplinkstatic aparecerá na lista.
  2. Clique no iosgrouplinkstatic para selecioná-lo.
  3. Verifique se a Dependency Rule está configurada para Up to Next Major Version e deixe a versão preenchida pelo Xcode.
  4. Clique em Add Package para adicionar o iosgrouplinkstatic ao projeto.

⚠️ Atenção: Certifique-se de que a Dependency Rule esteja configurada corretamente. Na Dependency Rule, não utilize as opções Up to Next Minor Version, Branch, Exact Version, Range of Versions ou Commit. A configuração correta é Up to Next Major Version. Essa configuração garante que você sempre utilizará uma versão compatível do SDK publicada pela Group Link One.

IMG-06 — Busca do pacote

Buscando o pacote iOSGrouplinkStatic pela URL do GitHub

Escolhendo os produtos do pacote​

O Xcode irá resolver o pacote e abrir a janela Choose Package Products for iOSGrouplinkStatic.

  1. Verifique se o pacote GroupLinkStatic está na lista.
  2. Na coluna Add to Target, confirme que ele está associado ao target do framework do seu SDK.
  3. Clique em Add Package para confirmar a adição do pacote.

IMG-07 — Choose Package Products

Escolhendo os produtos do pacote iOSGrouplinkStatic

Verificando a instalação​

Após a conclusão, você retornará à aba Package Dependencies. Lá, confirme que está tudo correto:

  • A lista deve exibir agora o pacote GroupLinkStaticPackage.
  • O pacote GroupLinkStaticPackage aparece com:
    • Location: https://github.com/Group-Link-One/iOSGrouplinkStatic
    • Dependency Rule: Up to Next Major Version
    • Value: <VERSÃO_ATUAL_DO_PACOTE>

IMG-08 — Package Dependencies

Verificando a instalação do pacote GroupLinkStaticPackage

Confira se o pacote GroupLinkStatic foi adicionado corretamente:

IMG-09 — Frameworks and Libraries

GroupLinkStatic no TARGET do framework → General → Frameworks and Libraries

IMG-10 — Link Binary With Libraries

GroupLinkStatic no TARGET do framework → Build Phases → Link Binary With Libraries

[OPCIONAL] - Caso o build falhe com No such module 'GroupLinkStatic'​

Esse erro ocorre quando o pacote GroupLinkStatic não foi adicionado corretamente ao Link Binary With Libraries. É necessário verificar se a fase Link Binary With Libraries existe no Build Phases do seu framework.

Se a fase não existir:​

  1. Acesse o TARGET do framework → Build Phases → + → New Link Binary With Libraries Phase.

IMG-11 — New Link Binary With Libraries Phase

Nova fase do Link Binary With Libraries

  1. Clique no + na nova fase do Link Binary With Libraries.

IMG-12 — Clicando no + na nova fase do Link Binary With Libraries

Clicando no + na nova fase do Link Binary With Libraries

  1. Adicione o GroupLinkStatic à nova fase do Link Binary With Libraries.

IMG-13 — Adicionando GroupLinkStatic à nova fase

Adicionando GroupLinkStatic à nova fase do Link Binary With Libraries

Se a fase existir:​

  1. Acesse o TARGET do framework → Build Phases → Link Binary With Libraries.
  2. Verifique se GroupLinkStatic está listado.

IMG-10 — GroupLinkStatic listado

GroupLinkStatic listado em Link Binary With Libraries

Se o erro persistir, remova o pacote e adicione novamente conforme os passos acima.

  • PROJECT → Package Dependencies → selecione GroupLinkStaticPackage → − → Remove.
  • Adicione o pacote de novo (passo acima), escolhendo o TARGET do framework do seu SDK em Add to Target.

Coloque o start do SDK Group Link no init do seu SDK:

import Foundation
internal import GroupLinkStatic // Import interno do SDK Group Link

@objc public final class SeuSDKManager: NSObject {

@MainActor
@objc public static func start() {
// ... inicialização atual do seu SDK ...

if #available(iOS 15.0, *) {
// Start do SDK Group Link
GroupLinkSDK.start(appLabel: "<GROUPLINK_APP_LABEL>")

// Chamada das permissões necessárias
GroupLinkSDK.startBluetooth()
GroupLinkSDK.startLocation()

// Configuração do remote ID (pode ser chamado a qualquer momento após o start do SDK Group Link)
GroupLinkSDK.setRemoteId("<REMOTE_ID>")
}
}
}

⚠️ Atenção: O internal import deve ser usado em todo arquivo que importar o SDK Group Link. Não use import comum, nem @_implementationOnly.

Próximos passos​

Verificação do seu SDK